package linter.linterjava.service;

import com.github.pagehelper.PageInfo;
import linter.linterjava.POJO.DO.Model;
import com.baomidou.mybatisplus.extension.service.IService;
import linter.linterjava.POJO.DTO.ModelDTO;
import linter.linterjava.POJO.DTO.ModelUserDataDTO;
import linter.linterjava.POJO.UtilDTO.FileDTO;
import linter.linterjava.POJO.UtilDTO.PageInfoDTO;

import java.util.List;

/**
* @author 北煜
* @description 针对表【model(模型详情表)】的数据库操作Service
* @createDate 2024-07-07 12:15:30
*/
public interface ModelService extends IService<Model> {

    /**
     * @param modelUserDataDTO 用户模型类 -- 文件，选择的特征列表
     * @param uuid 用户id
     * @return 返回成功与否
     */
    Long uploadData(ModelUserDataDTO modelUserDataDTO, Long uuid);

    /**
     * @param pageInfoDTO 分页类
     * @param uuid 用户id
     * @return 返回模型数据
     */
    PageInfo<Model> selectAllModel(PageInfoDTO pageInfoDTO, Long uuid);

    /**
     * @param modelUserDataDTO 用户模型类 -- 文件，选择的特征列表
     * @param uuid 用户id
     * @return 返回更新成功与否
     */
    String uploadByUserSelDataPreprocess(ModelUserDataDTO modelUserDataDTO, Long uuid);

    /**
     * @param modelDTO 模型类
     * @param uuid 用户id
     * @return 返回模型列表
     */
    List<Model> searchModel(ModelDTO modelDTO, Long uuid);
}
